package com.wufun.baselibrary.base;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.View;

import com.wufun.baselibrary.impl.IInit;

/**
 * 描述
 * 作者 tangbingliang
 * 时间 16/6/28 16:14
 * 邮箱 bltang@atman.com
 * 电话 18578909061
 */
public class BaseFragment extends Fragment implements IInit {

    /**
     * 该标志位表示第一次进入先初始化init(包含基本数据和网络获取数据)
     */
    private boolean isFirstInto = true;
    /**
     * 是否返回界面时刷新数据 默认不刷新
     */
    public boolean isRefreshNetworkData = false;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    /**
     * 初始化
     */
    protected void init() {
        initWidget();
        initIntentAndMemData();
        doInitBaseHttp();
    }

    /**
     * 该方法会重新刷新doInitBaseHttp中所请求的数据
     */
    protected void resumeToRefreshBaseData() {
        doInitBaseHttp();
    }

    @Override
    public void onResume() {
        super.onResume();
        if (isFirstInto) {
            init();
            isFirstInto = false;
        }
        if (isRefreshNetworkData && !isFirstInto) {
            resumeToRefreshBaseData();
        }
    }

    public void showLoading(String str) {
        getBaseAppCompatActivity().showLoading(str);
    }

    public void cancelLoading() {
        getBaseAppCompatActivity().cancelLoading();
    }

    public void showToast(String text) {
        getBaseAppCompatActivity().showToast(text);
    }

    protected BaseAppCompatActivity getBaseAppCompatActivity() {
        return (BaseAppCompatActivity) getActivity();
    }

    @Override
    public void initIntentAndMemData() {
    }

    @Override
    public void doInitBaseHttp() {

    }

    @Override
    public void initWidget(View... v) {

    }

    @Override
    public void childChangDisplayModel() {

    }
}
